In general, the present invention relates to the emulation of functions from a source computer architecture to produce instructions that run on a target machine architecture. More particularly, the present invention is directed to the emulation of portions of a data processing system other than the CPU (Central Processing Unit) architecture. Even more particularly, the present invention is directed to the emulation of I/O (input/output) processors.
Emulation technology is becoming more prevalent in the industry due to the rising cost of hardware development, especially on high end systems. The resurgence of the mainframe class of machine has created an increased desire for code developers to write applications for this type of machine. One of the most significant ones of the high end systems is the zSeries™ of data processor manufactured and marketed by the assignee of the present invention. However, the cost factor for these high end systems is discouraging program writers and designers from working in this area, especially for development and for training purposes. Several vendors now provide zSeries™ processor emulations that run on either a UnixWare or Linux based workstation. However, included with the processor emulation is the increasing desire to emulate other parts of the system including DASD, coupling, I/O, and networking functions. Queued Direct I/O was introduced in 1990. It is a state-of-the-art I/O architecture which provides fast host to LAN communication. With the emulator of the present invention, several changes have been made to enhance the architecture and to improve Queued Direct I/O (QDIO) function on Linux and AIX® platforms. It is also noted that while the present invention focuses upon the Open System Adapter (OSA) as an emulation target, the principle methods and structures of the present invention are equally applicable to other adapters, an adapter simply being a piece of hardware used by a CPU, server, data processor, mainframe or the like for external communications.